System and method for collecting data from data sources using data collection tools

ABSTRACT

A system and a method for collecting data from a data source that includes a database containing a tool for collecting data from the data source and creating a data record, a tool selector in communication with the database for selecting the tool from the database, a tool processor for executing the tool, and a communication channel for communicating between the database and the tool processor. The tool is selected from the database by the tool selector and transmitted via the communication channel to the tool processor for use in creating a data record that is transmitted to the database via the communication channel.

RELATED APPLICATIONS

This continuation-in-part application claims the benefit of the utilityapplication entitled “SYSTEM AND METHOD FOR COLLECTING DATA FROM DATASOURCES USING DATA COLLECTION TOOLS” (Ser. No. 10/989,989) filed on Nov.16, 2004, which is hereby incorporated by reference in its entirely.

TECHNICAL FIELD

This invention relates generally to the field of data collection, andmore specifically to a new and useful system and method for collectingdata from data sources using data collection tools that function througheither an automated interface or a human operator.

BACKGROUND

Specific information relevant to the health of a patient may be storedin files, records, and other data sources located in many differentmedical facilities such as physician offices, hospitals, skilled nursingfacilities, medical laboratories, free standing radiology clinics andother health care providers. Patient information is often required byorganizations that are authorized to receive such information, such asmedical service provider plans, governmental agencies, includingMedicare and Medicaid, and other authorized organizations. The specificinformation may be found in many locations, on various media, innumerous formats and amid a considerable amount of non-relevant data.For example, data collection may take the form of extracting data fromelectronic or paper files and records or collecting data visually byinspection during an on-site audit of a medical facility. Selecting,collecting, abstracting, and organizing the relevant data into a formatthat is readily analyzed by the resources of a medical service providerplan or other authorized organization is a complex and time consumingtask. Thus, authorized organizations have a need for new and efficientsystems and methods for selecting, collecting, abstracting andorganizing specific medical information from the files of theirparticipating medical and healthcare service providers.

SUMMARY

In one aspect of the invention, a system is provided for collecting datafrom a data source and creating data records that includes a databasecontaining tools for collecting the data from the data sources andcreating data records. A tool selector in communication with thedatabase is also provided for selecting a tool from the database, and atool processor for executing the tool. A communication channelcommunicates between the database and the tool processor enabling a toolto be selected by a tool selector program running on an applicationprocessor and transmitted to the tool processor for use in creating adata record, which is transmitted to the database via the communicationchannel.

In another aspect of the invention, a method is described in which atool is selected from a database and transmitted from the database to atool processor by way of a communication channel for use by either ahuman operator or by an application interface program to facilitate thecollection of data from a data source and the creation of a data record,which is transmitted from the tool processor to the database via thecommunication channel.

These and other aspects and advantages of the present invention willbecome apparent upon reading the following detailed description of theinvention in combination with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the architecture and functionalentities of a first embodiment of the invention having a human operator.

FIG. 2 is a flow chart showing the process flow of the first embodimentof the invention.

FIG. 3 is a flow chart showing the process flow for building a tool set.

FIG. 4 is a block diagram showing the architecture and functionalentities of a second embodiment of the invention in which the humanoperator is replaced by an interface application program.

FIG. 5 is a flow chart showing the process flow of an alternativeembodiment of the invention in which the human operator has beenreplaced by an interface application program that directly monitors adata input channel.

DESCRIPTION OF THE PREFERRED EMBODIMENT

The following description of the preferred embodiment of the inventionis not intended to limit the invention to this preferred embodiment, butrather to enable any person skilled in the art of data collection tomake and use this invention.

As shown in FIG. 1, the first preferred embodiment of the system 10 forcollecting data from a data source includes a server 20 linked to acommunication system 30. The server 20 contains a database 22 incommunication with an application processor 27. The applicationprocessor 27 has a tool selector functionality 28 for selecting toolsappropriate for a given data collection assignment and an authenticationfunctionality 29 to identify particular operators 60 who operate orinterface with the tool processors 50. The authentication functionality29 enables the particular data collection assignments that have beenassigned to the operators 60 to be correlated with the correct operator60.

The application processor 27 may be resident on the same physicalmachine or server 20 as the database 22 or could be physically separatedfrom the database 22 and residing on a separate machine. The database 22contains a data collection 24 and a tool collection 23. The toolcollection 23 contains at least one data tool 25, but could contain asuite of diverse data tools 25 for collecting data, each data tool 25being linked or associated with a data set 26. Each data set 26 containsparameters and other information and data that are useful in theexecution of the associated or linked data tool 25.

The communication system 30 contains a tool transmitter 32 fortransmitting the data tools 25 and data sets 26 to the tool processor 50and a data receiver 34 for receiving data records created by theoperator 60 based on information contained in the source files 70. Thedata records are stored in the data collection 24 residing on the server20. The communication system 30 allows a remote server 27 to communicatethrough a communication channel 40 with the tool processor 50. The toolprocessor 50 includes a data store 52, in which the data records 56 anddata tools 58 are stored. Also included within the tool processor 50 isa tool parsing engine 54 for parsing and executing instructions thatform the code or script of the data tools 25 and a local communicationsystem 55 for establishing communication between the operator 60 and theapplication processor 27 through the communication channel 40. Thecommunication channel 40 and the other links between the variouscomponents of the system 10 may be dedicated facilities, a Wide AreaNetwork (WAN), a Virtual Private Network (VPN), a local area network,the internet or any number of other land based, terrestrial based orwireless communication facilities, networks or resources.

The tool processor 50 is utilized by an operator 60 that has access tosource files 70. The tool processor 50 may be a PDA, workstation, laptopcomputer, desktop computer or any other of various platforms containingprocessing units capable of executing the data tool 25 to create datarecords 56. In the preferred embodiment depicted in FIG. 1, the operator60 is a human agent who may be assigned to read through source files 70that are paper and/or electronic files in a physician's office,hospital, skilled nursing facility, medical laboratory, free standingradiology clinic or other health care provider at any other location orfacility of an entity that participates in the medical service providerplan. Alternatively, the system 10 may be configured to function in amore automated way by replacing the human operator 60 with an automatedinterface application 61, as described below in reference to FIGS. 4 and5.

The specific information or data that the operator 60 is assigned tocollect may be found in source files 70 that are of various media and innumerous formats. The sources files 70 from which the operator 60 mayextract the information or data may be electronic or paper files andrecords or the operator may collect the data or information source files70 that are the physical locations or facilities themselves byinspecting or auditing the premises.

Referring now to FIG. 2, the method 100 for collecting data from a datasource file 70 begins in step 102 when the operator 60 logs onto anapplication program containing functionality to authenticate theidentity of the operator 60. The application program may reside on thetool processor 50 or on the application processor 27 of a remote server20, or a combination of both of these configurations with some functionsof the application program residing locally on the tool processor 50 andsome functions of the application program residing remotely on a server20. The application program authenticates the operator in step 104allowing the operator in step 106 to request the appropriate tools for aparticular data collection assignment. In step 108 the applicationprogram fetches the assignment for the operator 60 and begins in step110 to build a tool set that will enable the operator 60 to collect theinformation or data of interest to the organization that has beenauthorized to receive the patient's information, such as a medicalservice provider plan.

In step 112, the tool set is transmitted by the tool transmitter 32within communication system 30 from the tool collection 23 within thedatabase 22 to the tool processor 50 via the communication channel 40.The tool set is stored in the tool store 58 within the data store 52resident on the tool processor 50. The tools are executed by the toolparsing engine 54 within the tool processor 50 in step 114 enabling theoperator 60 create data records 56 in step 118 from the relevant datacollected from the source files 70. The data records 56 are storedwithin the data store 52 of tool processor 50. The record store 56 andthe tool store 58 resident on tool processor 50 may be contained withthe same or different devices.

In step 120, the data record or records 56 are transmitted from the toolprocessor 50 through its communication system 55 via the communicationchannel 40 to the data receiver 34 to a remote communication system 30that provides a communication interface for the server 20. The datarecords 56 are stored in the data collection 24 residing on the server20.

The process of building the tool set for the operator's data collectionassignment in step 110 is outlined in more detail in FIG. 3 beginning instep 200 in which the application program identifies a tool 25 that isneeded for the operator 60 to perform his or her data collectionassignment. The identity of the operator 60 may be used to determine thedata collection assignment and thus serve as the basis for selecting thecomponent tools that will comprise a tool set, although other criteriasuch as date, time, location and/or other relevant factors may also beused by the application program in determining the tools that willcomprise the tool set to compete any particular data collectionassignment. The application program fetches the tool 25 script in step202 and the data set 26 that is linked or associated with the identifiedtool 25 script. In step 204 the fetched tool 25 script and data set 26are added to a tool set for the operator's 60 assignment.

In step 206, the application program decides whether or not all of thetools 25 and linked or associated data sets 26 that are required for theoperator 60 to compete the assignment have been accumulated in the toolset and returns to step 200 if all of the tools 25 and linked orassociated data sets 26 have not been accumulated to complete theassignment. If all of the tools 25 and linked or associated data sets 26required by the operator to complete the assignment have beenaccumulated the process continues to step 112 in which the tool set istransmitted via the communication channel 40 to the communication system55 in the tool processor 50 as described above.

Referring now to FIG. 4, a second preferred embodiment of the inventionis depicted in which the human operator 60 has been replaced in thesystem 10 by an interface application program 61 running on the toolprocessor 50 as the interface between the tool processor 50 and thesources files 70. Like the human operator 60 in the first preferredembodiment described above, the interface application 61 searchesthrough the source files 70 stored on a client database 72 to extractdata in accordance with directions in the tool set and data set. Forexample, the tools set may contain instructions to collect a patient'sbirth date, the date of an office visit, or particular codes thatindicate diagnoses or events such as doctor office or hospital visits.The interface application 61 may also be resident on the same machine asthe data the tool selector function 28, the authentication function 29and/or the database 22, or could physically reside on a separate machinethat is interconnected with the system 10.

The interface application 61 can be configured such that some functionsreside locally on the tool processor 50 and some functions resideremotely on a server 20. The interface application program 61 may alsobe part of a larger data management system that has a data collectionfunction. The data management system can be configured to residecentrally either on the tool processor 50 or a remote server 20. Thedata management system can also be a distributed architecture systemwith some functions residing on the tool processor 50 and some functionsresiding remotely on a server 20. Alternatively, the interfaceapplication 61 can be configured to monitor one or more data inputchannels 76 between an end user 78 and an electronic medical recordssystem 74 to extract data in real time and deliver information insmaller data packets. The interface application 61 transmits a datapacket when a particular detail specified by the data set and data toolsis recognized on the data input channel 76. The data tool and data setmay request information related to a particular code 9999, for example,which may represent that a certain lab test has been ordered by adoctor. The interface application 61 can be configured to continuouslymonitor for the code 9999 and extract in real-time the fact that thistest has been ordered at the same time that doctor's assistant inputsthis data into the computer resident at the doctor's office. In thisembodiment, the interface application 61 can be resident on a toolprocessor 50, a remote server 20 or on a server or workstation connecteddirectly to a client's network with a communication channel back to thesystem 10.

The interface application 61 supplies the search, recognition andextraction skills that are necessary to generate the data records 56that are supplied by the human operator 60 in the first preferredembodiment depicted in FIG. 1. The interface application 61 is acomputer program that may incorporate expert systems, artificialintelligence and/or other embedded intelligence technologies for thepurpose of supplying or approximating the human operator's 60 expertise,and may be written in software languages that afford learningcapabilities such as 4GL. The interface application 61 may utilize anyinterface protocol, such as by way of example, HL7, ODBC, XML or aproprietary interface, suitable to interact with the source files 70.The interface application 61 may interact with the source files 70through one or more computers, devices, and/or interfaces in any mannerknown in the art, including the Internet, intranets and through variousserver protocols and devices. The data may be extracted and transmittedfrom the device on which the source files 70 are resident and receivedby the interface application 61 on the remote server 20 or on the toolprocessor 50 in any number of ways, including, but not limited to, anydata or signal discernable by the application interface 61 as a datarecord 56, such as a message in any format of any computer protocol.

The second preferred embodiment of the invention described above withreference to FIG. 4 for collecting data from data source files 70utilizing the interface application 61 instead of a human operator 60performs the method set forth in FIGS. 2 and 3 in a manner similar tocollection by a human operator. The method begins in step 102 when theinterface application 61 logs onto the system 100. The interfaceapplication 61 may logon to application program in response to pollingthat occurs at predetermined intervals established during initializationof the interface application 61.

In step 104, the application authenticates the interface application 61based on information contained in a transmission from the interfaceapplication 61. The authentication function 29 may reside of the toolprocessor 50 or on a remote server 20. In step 106, the interfaceapplication 61 requests the appropriate tools for a particular datacollection assignment. In step 108, the application program fetches theassignment for the application interface 61 and begins in step 110 tobuild a tool set in the manner set forth in FIG. 3 and described abovethat enables the interface application 61 to collect the information ordata of interest. Once the tool set has been assembled, the tool set issent in step 112 to the tool processor 50 and tool parsing engine 54resident on the tool processor 50 begins in step 114 executing orparsing the script of each of the tools 25 in the tool set to collectthe relevant data from the source files 70.

As the interface application 61 collects the data in step 116 from thesource files 70 under the control of the tool processor 50, a datarecord 56 is created in step 118 and stored in the data store 52 of thetool processor 50. Once all of the instructions in the tool set havebeen executed and the data is completely collected in step 118 the toolprocessor 50 then uploads data records 56 in step 120 from the localdata store 52 to the data receiver 34 and on to the data collection 24in the database 22. Alternatively, the submission of data to thedatabase 22 could occur in real-time as it is being collected from thesource files 70 through the application interface 61. It should be notedthat the functions of the interface application 61 in this process 100could also be performed remotely by a data application program residenton a remote server 20.

Referring now to FIG. 5, the second alternative method 300 forcollecting data from a data source file 70 without the aid of a humanoperator 60 begins in step 302 as the tools and data are loaded onto thetool processor 50 and begin to execute. In step 304, the applicationinterface monitors traffic 76 on the data input channel 76 between anend user 78 and a medical records system 74 or other type of datastorage system. In step 306, the sampled data is compared to theparticular criteria requested by the tool set and data set. If thesampled data does not meet the particular criteria specified by the toolset and data set, the process returns to step 304 and continuesmonitoring the data input line 76. If the sampled data in step 306 doesmeet a particular criterion specified in the tool set and data set, thedata is collected in step 308. A data record is created in step 310 andthe collected data transmitted to the data base 22 in step 312.

The foregoing description of the preferred embodiment is not intended tolimit the invention to this preferred embodiment, but rather to enableany person skilled in the art of data collection to make and use thisinvention. As any person skilled in the art of data collection willrecognize from the foregoing description and from the figures andclaims, modifications and changes can be made to this preferredembodiment of the invention without departing from the scope of thisinvention defined in the following claims.

1. A system for collecting data from a data source comprising: adatabase containing at least one tool for collecting data from said datasource to create a data record; a tool selector in communication withsaid database for selecting said tool from said database; a toolprocessor for executing said tool; and a communication channel forcommunicating between said database and said tool processor; wherebysaid tool is selected from said data base by said tool selector andtransmitted to said tool processor for use in creating said data recordthat is transmitted to said database via said communication channel. 2.The system of claim 1, further comprising: a communication system incommunication with said database and said tool processor fortransmitting said tool to said data base and receiving said data recordfrom said tool processor.
 3. The system of claim 1, further comprising:a data store within said tool processor for storing said data record. 4.The system of claim 1, further comprising: a tool parsing engine withinsaid tool processor for parsing instructions of said tool.
 5. The systemof claim 1, further comprising: an application processor incommunication with said database, said application processor having atool selector functionality whereby tools are selected from saiddatabase.
 6. The system of claim 1, further comprising: a data setassociated with said data tool, said data set containing parametersuseful in the execution of said data tool.
 7. The system of claim 2,wherein said communication contains a tool transmitter for transmittingsaid data tool to said data base.
 8. The system of claim 2, wherein saidcommunication contains a tool data receiver for receiving said datarecord from said tool processor.
 9. The system of claim 5, wherein saidapplication processor contains authentication functionality fordetermining a tool set to be assembled.
 10. A method for collecting datafrom a data source comprising the steps of: providing a databasecontaining at least one data tool for collecting data from said datasource to create a record; providing a selector for selecting said toolfrom said database; providing a processor for executing said tool;providing a transmitter for transmitting said tool from said database tosaid processor; providing a communication channel for communicatingbetween said database and said processor; selecting said tool from saiddatabase; transmitting said tool from said database to said processor byway of said communication channel; collecting data from said datasource; creating a record based on said data; and transmitting saidrecord from said processor to said database.
 11. The method of claim 10,further comprising the step of: building a tool set based on a datacollection assignment.
 12. The method of claim 11, further comprisingthe step of: transmitting said tool set to said processor.
 13. Themethod of claim 1 0, further comprising the step of: authenticating anoperator of said processor.
 14. The method of claim 10, furthercomprising the step of: executing said tool on said processor.
 15. Themethod of claim 12, further comprising the step of: fetching anassignment based on authentication of a human operator.
 16. The methodof claim 12, further comprising the step of: fetching an assignmentbased on authentication of an interface application.
 17. A system forcollecting data from a data source comprising: a server with a databasecontaining at least one tool for collecting data from said data sourceto create a data record; a tool processor for executing said tool; anapplication processor in communication with said database and said toolprocessor, said application processor having a tool selector forselecting said tool from said database; a communication system incommunication with said server and said tool processor for communicatingsaid tool to said tool processor and communicating data record to saiddatabase. a communication channel for communicating between saidcommunication system and said tool processor; whereby said tool isselected from said database by said tool selector and transmitted tosaid tool processor for use in creating said data record.
 18. The systemof claim 17, wherein said application processor contains authenticationfunctionality for determining a tool set to be assembled.
 19. The systemof claim 17, wherein said database contains a data set associated withsaid data tool, said data set containing parameters useful in theexecution of said data tool.
 20. The system of claim 17, furthercomprising: a tool parsing engine within said tool processor for parsinginstructions of said tool.
 21. A method for collecting data from a datasource comprising the steps of: providing a database containing at leastone data tool for collecting data from said data source to create arecord and a selector for selecting said tool from said database;providing a tool processor for executing said tool and an applicationprocessor for building a tool set based on data collection assignment;selecting said tool from said database; building a tool set based ondata collection assignment; transmitting said tool set to saidprocessor; collecting data from said data source using said tool set;creating a record based on said data; and transmitting said record fromsaid tool processor to said database.
 22. The system of claim 1, furthercomprising: an interface between said tool processor and said datasource.
 23. The system of claim 22, wherein said interface is a humanoperator.
 24. The system of claim 22, wherein said interface is acomputer program.
 25. The method of claim 10, wherein said collectingstep is performed by a human operator.
 26. The method of claim 10,wherein said collecting step is performed by a computer program.
 27. Thesystem of claim 17, further comprising: an interface between said toolprocessor and said data source.
 28. The system of claim 27, wherein saidinterface is a human operator.
 29. The system of claim 27, wherein saidinterface is a computer program.
 30. The method of claim 21, whereinsaid collecting step is performed by a human operator.
 31. The method ofclaim 21, wherein said collecting step is performed by a computerprogram.
 32. A method for collecting data from a data source comprisingthe steps of: providing an interface program configured to monitor acommunication channel between a data storage system and a source ofinput data; providing a tool processor in communication with a databaseand said interface program, said tool processor configured to execute atleast one data collection tool; monitoring said communication channelfor data related to services that match at least one predeterminedcriterion; determining whether said monitored service data contains saidpredetermined criterion using said data collection tool; and creating adata record based on at least a portion of said monitored service data.33. The method of claim 32, further comprising the step of: transmittingsaid data record to said database.
 34. The method of claim 32 whereinsaid data storage system is a medical records system.
 35. The method ofclaim 32 wherein said services are medical services.